package com.scy.java.object.stad;
//构造方法 构造代码块的执行顺序
/**
 * 加载顺序:加载类--成员变量|构造代码块（先后顺序加载）--构造方法
 * 注意：
 *  1、对象一创建你，就会调用与之对应的构造方法，也就是说，不创建对象，构造方法不执行
 *  2、一个对象创建，构造方法执行一次，再创建一个对象，再运行一次
 */
public class ControlstructionDemo {
    //成员变量
    int num = 1000;
    //构造方法
    public ControlstructionDemo() {
        this.num = 2000;
        System.out.println("我是构造方法");
    }
    //构造代码块-->先执行
    {
        this.num = 3000;
        System.out.println("我是构造代码块");
    }

    public static void main(String[] args) {
        System.out.println("测试执行顺序");
        System.out.println("------------");
        //创建对象
        ControlstructionDemo cd = new ControlstructionDemo();
        System.out.println(cd.num);//2000
    }
}
